<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 100px;
            height: 100px;
            background: red;
            position: absolute;
            left: 0px;
            top: 0px;
        }
    </style>
</head>

<body>
    <div class="box"></div>
    <script>
        function move(ele, target) {
            console.log(target)
            // timer 如果每次循环生成的话那么会被后面的timer覆盖掉；
            let obj = {}
            for (let key in target) {
                // console.log(key, target[key]);
                obj[key] = setInterval(() => {
                    console.log("setInterval");
                    let leftNum = parseInt(getComputedStyle(ele, null)[key]);
                    let speed = 5;
                    if (leftNum === target[key]) {
                        console.log("停止");
                        clearInterval(obj[key]);
                    } else {
                        ele.style[key] = leftNum + speed + "px";
                    }
                    // obj = {left:1,top:2}  timer = 2
                }, 50);
            }
            // var timer = setInterval(() => {
            //     console.log("setInterval");
            //     let leftNum = parseInt(getComputedStyle(ele, null)['left']);
            //     let speed = 5;
            //     if (leftNum === target) {
            //         console.log("停止");
            //         clearInterval(timer);
            //     } else {
            //         ele.style.left = leftNum + speed + "px";
            //     }
            // }, 50);
        }

        let boxEle = document.querySelector(".box");
        // 1.函数如何控制向下移动？？？
        move(boxEle, { left: 300});  //向右的速度 
        move(boxEle, { top: 300});  // 给一个向下的速度
        // 2.如何实现 方块向先右移动结束后 然后在向下移动？？
        // 要获取 运动结束的时刻？？？
        // 3. 如何反方向移动？
        
        
        
        
        
        // 对象保存下标 ；
        // let obj = {};
        // for(let i=1;i<3;i++){
        //     // console.log(i);
        //     // var timer = i;
        //     obj[i] = i;
        // }
        // console.log(obj);


    </script>
</body>

</html>